class MyRegUtil {
  static bool isLetter(String str) {
    final r = RegExp(r"^[A-Za-z]+$");
    return r.hasMatch(str);
  }

  static bool isNum(String str) {
    final r = RegExp(r"^\d{6}$");
    return r.hasMatch(str);
  }

  static bool isAllNum(String str) {
    final r = RegExp(r"^[0-9]*$");
    return r.hasMatch(str);
  }

  // 验证是否为数字
  static bool isNumber(String str) {
    final reg = RegExp(r'^-?[0-9]+');
    print('$str 是否数字:${reg.hasMatch(str)}');
    return reg.hasMatch(str);
  }

  //自定义校验： 必须是数字 可以是科学计数法
  static bool isHardNum(String str) {
    final r = RegExp(r"^[0-9\+\-\.eE]*$");
    return r.hasMatch(str);
  }

  static bool isPhone(String value) {
    final regex = RegExp(
        r'^((13[0-9])|(14[579])|(15[0-35-9])|(16[2567])|(17[0-35-8])|(18[0-9])|(19[0-35-9]))\d{8}$');
    return regex.hasMatch(value);
  }

  static bool isTel(String value) {
    final regex = RegExp(r'^0\d{2,3}[- ]?\d{7,8}$');
    return regex.hasMatch(value);
  }

  //6-18数字字母组合密码
  static bool isPsw(String value) {
    final regex =
        RegExp(r'^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,18}$');
    return regex.hasMatch(value);
  }
  //数字和字母
  static bool isNumAndLetter(String value) {
    final regex = new RegExp(r'^[A-Za-z0-9]+$');
    return regex.hasMatch(value);
  }
}
